﻿using System;
using System.Collections.Generic;
using System.Data.SqlClient;
using System.Linq;
using System.Text;
using Entidades.Sistema.Base;

namespace Mapping.Sistema.Base
{
    public static class MappingLocalidad
    {
        public static List<Localidad> ConsultarLocalidades()
        {
            try
            {
                SqlCommand cmdLocalidades = new SqlCommand();
                cmdLocalidades.CommandText = "sp_ConsultarLocalidad";
                Servicios.Conexion.ObtenerInstancia().Conectar("Sistema");
                cmdLocalidades.CommandType = System.Data.CommandType.StoredProcedure;
                cmdLocalidades.Connection = Servicios.Conexion.ObtenerInstancia().RetornarConexion();
                SqlDataReader drLocalidades = cmdLocalidades.ExecuteReader();

                List<Localidad> ColLocalidades = new List<Localidad>();

                while (drLocalidades.Read())
                {
                    Localidad oLocalidad = new Localidad();
                    oLocalidad.IdLocalidad = Convert.ToInt32(drLocalidades["Id_Localidad"]);
                    oLocalidad.Nombre = drLocalidades["NombreLocalidad"].ToString();
                    oLocalidad.CodigoPostal = Convert.ToInt32(drLocalidades["CodigoPostal"]);
                    oLocalidad.Provincia.IdProvincia = Convert.ToInt32(drLocalidades["IdProvincia"]);
                    oLocalidad.Provincia.Nombre = drLocalidades["NombreProvincia"].ToString();
                    ColLocalidades.Add(oLocalidad);
                }

                Servicios.Conexion.ObtenerInstancia().Desconectar("Sistema");

                return ColLocalidades.OrderBy(x => x.Nombre).ToList();
            }
            catch (Exception ex)
            {
                throw (ex);
            }
        }
    }
}
